package com.lxmes.sales.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lxmes.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.lxmes.common.core.domain.BaseEntity;

/**
 * 商城正式订单对象 nc_mall_sales_orders
 * 
 * @author lx
 * @date 2023-05-31
 */
@ApiModel(value = "NcMallSalesOrders", description = "商城正式订单对象")    
public class NcMallSalesOrders extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @ApiModelProperty("主键ID")
    private Long id;

    /** 公司代码 */
    @Excel(name = "公司代码")
    @ApiModelProperty("公司代码")
    private String factoryCode;

    /** 公司名称 */
    @Excel(name = "公司名称")
    @ApiModelProperty("公司名称")
    private String factoryName;

    /** 订单来源 */
    @Excel(name = "订单来源")
    @ApiModelProperty("订单来源")
    private String orderSource;

    /** 制造类别 */
    @Excel(name = "制造类别")
    @ApiModelProperty("制造类别")
    private String manufacturingType;

    /** 物料定义 */
    @Excel(name = "物料定义")
    @ApiModelProperty("物料定义")
    private String materialDefinition;

    /** 订单号 */
    @Excel(name = "订单号")
    @ApiModelProperty("订单号")
    private String orderNumber;

    /** 客户编码 */
    @Excel(name = "客户编码")
    @ApiModelProperty("客户编码")
    private String customerCode;

    /** 客户名称 */
    @Excel(name = "客户名称")
    @ApiModelProperty("客户名称")
    private String customerName;

    /** 数量 */
    @Excel(name = "数量")
    @ApiModelProperty("数量")
    private Long quantity;

    /** 交货期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交货期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("交货期")
    private Date deliveryDate;

    /** 产品类型 */
    @Excel(name = "产品类型")
    @ApiModelProperty("产品类型")
    private String productType;

    /** 产品编号 */
    @Excel(name = "产品编号")
    @ApiModelProperty("产品编号")
    private String productCode;

    /** 产品子号 */
    @Excel(name = "产品子号")
    @ApiModelProperty("产品子号")
    private String productSubCode;

    /** 产品名称 */
    @Excel(name = "产品名称")
    @ApiModelProperty("产品名称")
    private String productName;

    /** 产品识别码 */
    @Excel(name = "产品识别码")
    @ApiModelProperty("产品识别码")
    private String productIdentifier;

    /** 收货人姓名 */
    @Excel(name = "收货人姓名")
    @ApiModelProperty("收货人姓名")
    private String recipientName;

    /** 联系电话 */
    @Excel(name = "联系电话")
    @ApiModelProperty("联系电话")
    private String contactNumber;

    /** 收货地址 */
    @Excel(name = "收货地址")
    @ApiModelProperty("收货地址")
    private String shippingAddress;

    /** 到货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "到货时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("到货时间")
    private Date arrivalTime;


    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setFactoryCode(String factoryCode) 
    {
        this.factoryCode = factoryCode;
    }

    public String getFactoryCode() 
    {
        return factoryCode;
    }
    public void setFactoryName(String factoryName) 
    {
        this.factoryName = factoryName;
    }

    public String getFactoryName() 
    {
        return factoryName;
    }
    public void setOrderSource(String orderSource) 
    {
        this.orderSource = orderSource;
    }

    public String getOrderSource() 
    {
        return orderSource;
    }
    public void setManufacturingType(String manufacturingType) 
    {
        this.manufacturingType = manufacturingType;
    }

    public String getManufacturingType() 
    {
        return manufacturingType;
    }
    public void setMaterialDefinition(String materialDefinition) 
    {
        this.materialDefinition = materialDefinition;
    }

    public String getMaterialDefinition() 
    {
        return materialDefinition;
    }
    public void setOrderNumber(String orderNumber) 
    {
        this.orderNumber = orderNumber;
    }

    public String getOrderNumber() 
    {
        return orderNumber;
    }
    public void setCustomerCode(String customerCode) 
    {
        this.customerCode = customerCode;
    }

    public String getCustomerCode() 
    {
        return customerCode;
    }
    public void setCustomerName(String customerName) 
    {
        this.customerName = customerName;
    }

    public String getCustomerName() 
    {
        return customerName;
    }
    public void setQuantity(Long quantity) 
    {
        this.quantity = quantity;
    }

    public Long getQuantity() 
    {
        return quantity;
    }
    public void setDeliveryDate(Date deliveryDate) 
    {
        this.deliveryDate = deliveryDate;
    }

    public Date getDeliveryDate() 
    {
        return deliveryDate;
    }
    public void setProductType(String productType) 
    {
        this.productType = productType;
    }

    public String getProductType() 
    {
        return productType;
    }
    public void setProductCode(String productCode) 
    {
        this.productCode = productCode;
    }

    public String getProductCode() 
    {
        return productCode;
    }
    public void setProductSubCode(String productSubCode) 
    {
        this.productSubCode = productSubCode;
    }

    public String getProductSubCode() 
    {
        return productSubCode;
    }
    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }
    public void setProductIdentifier(String productIdentifier) 
    {
        this.productIdentifier = productIdentifier;
    }

    public String getProductIdentifier() 
    {
        return productIdentifier;
    }
    public void setRecipientName(String recipientName) 
    {
        this.recipientName = recipientName;
    }

    public String getRecipientName() 
    {
        return recipientName;
    }
    public void setContactNumber(String contactNumber) 
    {
        this.contactNumber = contactNumber;
    }

    public String getContactNumber() 
    {
        return contactNumber;
    }
    public void setShippingAddress(String shippingAddress) 
    {
        this.shippingAddress = shippingAddress;
    }

    public String getShippingAddress() 
    {
        return shippingAddress;
    }
    public void setArrivalTime(Date arrivalTime) 
    {
        this.arrivalTime = arrivalTime;
    }

    public Date getArrivalTime() 
    {
        return arrivalTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("factoryCode", getFactoryCode())
            .append("factoryName", getFactoryName())
            .append("orderSource", getOrderSource())
            .append("manufacturingType", getManufacturingType())
            .append("materialDefinition", getMaterialDefinition())
            .append("orderNumber", getOrderNumber())
            .append("customerCode", getCustomerCode())
            .append("customerName", getCustomerName())
            .append("quantity", getQuantity())
            .append("deliveryDate", getDeliveryDate())
            .append("productType", getProductType())
            .append("productCode", getProductCode())
            .append("productSubCode", getProductSubCode())
            .append("productName", getProductName())
            .append("productIdentifier", getProductIdentifier())
            .append("recipientName", getRecipientName())
            .append("contactNumber", getContactNumber())
            .append("shippingAddress", getShippingAddress())
            .append("arrivalTime", getArrivalTime())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
